<p>因为<code> equals </code>方法采用通用的<code> Object </code>作为参数，所以可以将任何类型的对象传递给它。该方法不应假定它将仅用于测试其类类型的对象。相反，它必须先检查参数的类型。再进行转化</p>
<h2>不规范代码示例</h2>

<pre>
public boolean equals(Object obj) {
  MyClass mc = (MyClass)obj;  // Noncompliant
  // ...
}
</pre>
<h2>正确代码示例</h2>

<pre>
public boolean equals(Object obj) {
  if (obj == null)
    return false;

  if (this.getClass() != obj.getClass())
    return false;

  MyClass mc = (MyClass)obj;
  // ...
}
</pre>

